/**
*Proyecto: Autopista V.1
*EmpresaService.java
*Fecha Creacion: 27 Junio del 2013
*SWITZ Software Artists Derechos Reservados R
*/

package mx.com.switz.autopista.service;

import mx.com.switz.autopista.dto.Empresa;
import mx.com.switz.autopista.dto.Usuario;
import mx.com.switz.autopista.exception.AutopistaException;

/*
*Clase que contiene los metodos de la empresa sin implementacion
*@Autor: Jovani Arzate Cabrera SWITZ Software Artists
 */
public interface EmpresaService {

	/**
	 * Metodo utilizado para insertar empresas en la tabla empresa
	 * @return boolean  retorna true si inserto la empresa, false en caso contrario
	 * @param empresa	objeto utilizado para cargar los datos de la empresa
	 */
	boolean addEmpresa(Empresa empresa,Usuario usuario)throws AutopistaException;
	/**
	 * Metodo utilizado para actualizar la empresa
	 * @param empresa objeto utilizado para cargar los datos a actualizar de la empresa
	 * @return retorna true si se actulizo la empresa, false en caso contrario
	 */
	boolean editEmpresa(Empresa empresa)throws AutopistaException;
	/**Metodo que devuelve el numero total de registros de la tabla empresa
	 *@return count variable que almacena el numero total de registros
	 */
	int count()throws AutopistaException;
	/**
	 * Metodo utilizado para verificar la existencia de una empresa
	 * @param empresa objeto utilizado para cargar los datos de empresa, estado  y municipio
	 * @return retorna true si la empresa ya existe, false en caso contrario
	 */
	boolean existEmpresa(Empresa empresa)throws AutopistaException;
	/**
	 * Metodo utilizado para insertar una empresa y su administrador en la tabla empresa_usuario
	 * @param empresa   objeto para cargar el id de la empresa
	 * @param usuario   objeto para cargar el id del usuario
	 * @return			retorna true si fue inserto el id de la empresa y usuario
	 */
	boolean addtEmpresaUsuario(Number empresa,String usuario)throws AutopistaException;
	/**
	 * 
	 * @param id_usuario variable para cargar el id del usuario
	 * @param rol	   variable para cargar el rol
	 * @return         retorna true si se inserto el id del usuario y su rol
	 */
	//boolean addtUsuarioRol(String id_usuario,int rol)throws AutopistaException;
}


